const https = require('https');
/*
@ipAddress 欲查询的ip地址
@filename 欲查询的日期
@callback 回调函数
@return false
*/
module.exports = (ipAddress ,str ,callback) => {
	let JsonDay1 = {'星期一':1,'星期二':2,'星期三':3,'星期四':4,'星期五':5,'星期六':6,'星期七':7,'星期天':7,'星期日':7,'周一':1,'周二':2,'周三':3,'周四':4,'周五':5,'周六':6,'周七':7,'周日':7};
	let JsonDay2 = {'今天':0,'明天':1,'后天':2};
	let ValueDay = new Number();
	let Day = new Date().getDay(); str=str||'今天';
	if(String(Number(str)) != "NaN"){
		if(Number(str)>0&&Number(str)<8){
			ValueDay = Number(str)-Day;
			ValueDay = Number(ValueDay)<0 && Day + Number(str)-1 ;
	 	} else {
			console.log(Number(str)%7);
		}
	}else{
		if(JsonDay1[str] == void 0&&JsonDay2[str] == void 0){
		} else if(JsonDay1[str] !== void 0) {
			if(Number(ValueDay)<8){
				ValueDay = JsonDay1[str]-Day;
				ValueDay = Number(ValueDay)<0 && Day + JsonDay1[str]-1;
			}
		} else {
			ValueDay = JsonDay2[str];
		}
	}
	let url, ipMatch = /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/;
	let fbResponse = {};
	let AirLevel = body = new String();
	if (ipMatch.exec(ipAddress) !== null){
		url = "https://www.tianqiapi.com/api/?appid=99893298&appsecret=inwrb3aZ&version=v1&ip="+ipAddress;
		https.get(url, res => {
			res.on('data', chunk => {
				body += chunk;
			});
			res.on('end', () => {
				try{
					fbResponse = JSON.parse(body);
					fbResponse.code = 200;
				} catch(e) {
					console.log("数据转json错误在天气数据");
					fbResponse.code = 500;
				}
				//console.log(fbResponse)
				if(fbResponse.code == 200){
					let data = fbResponse.data[ValueDay];
					if(!data) return callback('§4Error: 获取失败!');
					callback(`\n# 城市：${fbResponse.city}\n# 更新时间：${fbResponse.update_time}\n`+
					`# 相关信息\n日期：${data.date} ${data.week} ${data.wea}\n空气质量：${data.air_level}\n温度：高温${data.tem1} 低温${data.tem2} 平均温${data.tem}\n风向：${data.win[1]} ${data.win_speed}\n`+
					`# 综合建议\n运动：${data.index[1].desc}\n着衣：${data.index[3].desc}`);
				} else if(fbResponse.code == 500) {
					callback('§4Error: 服务端信息无法被解析！');
				} else {
					callback('§4Error: 意料之外的异常错误：'+fbResponse.code);
				}
			});
		}).on('error', e => {
			callback("§4Got an error: "+e);
		});
	}
}